Hỗ trợ của ngôn ngữ Hàm_nội_tuyến

C++, C99, và GNU C đều hỗ trợ hàm nội tuyến, song ANSI C (1990), phương ngữ phổ biến nhất của C trong thực tiễn, lại không hỗ trợ hàm nội tuyến. Trong ngôn ngữ lập trình ADA, hàm nội tuyến được sử dụng dưới hình thức của pragma. Đa số các ngôn ngữ khác, trong đó có Java và các ngôn ngữ lập trình hàm (functional languages), không cung cấp hàm nội tuyến nhưng lại thực hiện khai triển nội tuyến rất mạnh. Các trình biên dịch khác nhau có thể khác nhau ở độ phức tạp của các hàm mà chúng có khả năng khai triển nội tuyến. Các bộ biên dịch C++ chính thống như Microsoft Visual C++GCC (GNU Compiler Collection) có hỗ trợ một tùy chọn cho phép bộ biên dịch tự động biến mọi hàm có thể thành hàm nội tuyến, ngay cả khi các hàm này không được đánh dấu là hàm nội tuyến.

Một hàm nội tuyến có thể được viết trong C++ như sau:

inline int max (int a, int b){if (a > b)  return a;else  return b;}
a = max (x, y); // hiện tương đương với "a = (x > y ? x: y);"

Liên quan